[INFO] cloning repository https://github.com/lgnixai/leven
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/lgnixai/leven" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flgnixai%2Fleven", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flgnixai%2Fleven'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] a6701170b4f021c7ccf4682fa9a4f4a515cead4a
[INFO] fixing lgnixai/leven against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flgnixai%2Fleven" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/lgnixai/leven
[INFO] finished tweaking git repo https://github.com/lgnixai/leven
[INFO] tweaked toml for git repo https://github.com/lgnixai/leven written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/lgnixai/leven on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/lgnixai/leven already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] b79d7e772e839d599997cb3fa358f7320e4f53f8f9817428b8430d7cae0519ce
[INFO] running `Command { std: "docker" "start" "b79d7e772e839d599997cb3fa358f7320e4f53f8f9817428b8430d7cae0519ce", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "b79d7e772e839d599997cb3fa358f7320e4f53f8f9817428b8430d7cae0519ce" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b79d7e772e839d599997cb3fa358f7320e4f53f8f9817428b8430d7cae0519ce", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "b79d7e772e839d599997cb3fa358f7320e4f53f8f9817428b8430d7cae0519ce" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating macro/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating lexer/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating parser/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating runtime/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Compiling proc-macro2 v1.0.79
[INFO] [stderr]    Compiling strsim v0.10.0
[INFO] [stderr]     Checking minimal-lexical v0.2.1
[INFO] [stderr]     Checking memchr v2.7.1
[INFO] [stderr]     Checking bytecount v0.6.7
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking unicode-ident v1.0.12
[INFO] [stderr]     Checking stable_deref_trait v1.2.0
[INFO] [stderr]     Checking owo-colors v4.0.0
[INFO] [stderr]     Checking fnv v1.0.7
[INFO] [stderr]     Checking ident_case v1.0.1
[INFO] [stderr]     Checking safer_owning_ref v0.5.0
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]     Checking quote v1.0.35
[INFO] [stderr]     Checking syn v2.0.53
[INFO] [stderr]     Checking nom_locate v4.2.0
[INFO] [stderr]     Checking tsr-lexer v0.0.0 (/opt/rustwide/workdir/lexer)
[INFO] [stderr]    Migrating lexer/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed lexer/src/lib.rs (2 fixes)
[INFO] [stderr]     Checking tsr-parser v0.0.0 (/opt/rustwide/workdir/parser)
[INFO] [stderr]    Migrating parser/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]     Checking darling_core v0.20.8
[INFO] [stderr]    Compiling derivative v2.2.0
[INFO] [stderr]    Compiling darling_macro v0.20.8
[INFO] [stderr]    Compiling darling v0.20.8
[INFO] [stderr]    Compiling tsr-macro v0.1.0 (/opt/rustwide/workdir/macro)
[INFO] [stderr]        Fixed parser/src/tags.rs (1 fix)
[INFO] [stderr]    Migrating macro/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed macro/src/lib.rs (1 fix)
[INFO] [stderr]     Checking tsr-runtime v0.0.0 (/opt/rustwide/workdir/runtime)
[INFO] [stderr]    Migrating runtime/src/lib.rs from 2021 edition to 2024
[INFO] [stderr] error: errors present after applying fixes to crate `tsr_runtime`
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]    --> runtime/src/value/mod.rs:476:53
[INFO] [stdout]     |
[INFO] [stdout] 476 |     ([$name:ident: $($type_name:ty)|*] => $callback:expr) => {
[INFO] [stdout]     |                                                     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout]     = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]     |
[INFO] [stdout] 476 |     ([$name:ident: $($type_name:ty)|*] => $callback:expr_2021) => {
[INFO] [stdout]     |                                                         +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]  --> runtime/src/api/events.rs
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]   --> runtime/src/lib.rs:24:28
[INFO] [stdout]    |
[INFO] [stdout] 24 |     ($variant:path, $value:expr) => {
[INFO] [stdout]    |                            ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]    |
[INFO] [stdout] 24 |     ($variant:path, $value:expr_2021) => {
[INFO] [stdout]    |                                +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]  ::: runtime/src/api/reflection.rs
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> runtime/src/eval/statement/variable.rs:24:27
[INFO] [stdout]    |
[INFO] [stdout] 12 |           let mut last = Value::None;
[INFO] [stdout]    |               --------
[INFO] [stdout]    |               |
[INFO] [stdout]    |               `last` calls a custom destructor
[INFO] [stdout]    |               `last` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 21 |               let (value_span, value) = if let Some(expression) = variable.initializer {
[INFO] [stdout]    |  _______________________________________-
[INFO] [stdout] 22 | |                 (
[INFO] [stdout] 23 | |                     expression.span,
[INFO] [stdout] 24 | |                     match self.eval_expression(expression) {
[INFO] [stdout]    | |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    | |                           |
[INFO] [stdout]    | |                           this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]    | |                           up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...  |
[INFO] [stdout] 29 | |             } else {
[INFO] [stdout]    | |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 30 | |                 (span, Value::None)
[INFO] [stdout] 31 | |             };
[INFO] [stdout]    | |             -
[INFO] [stdout]    | |             |
[INFO] [stdout]    | |_____________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |               `#1` will be dropped later as of Edition 2024
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: `last` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]  ::: runtime/src/api/util.rs
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]   --> runtime/src/lib.rs:70:12
[INFO] [stdout]    |
[INFO] [stdout] 70 |           if let Some(Value::Interface {
[INFO] [stdout]    |  ____________^
[INFO] [stdout] 71 | |             name,
[INFO] [stdout] 72 | |             extends,
[INFO] [stdout] 73 | |             signatures,
[INFO] [stdout] 74 | |         }) = self.get(name)
[INFO] [stdout]    | |______________-------------^
[INFO] [stdout]    |                |
[INFO] [stdout]    |                this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]    |
[INFO] [stdout]    = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]   --> runtime/src/lib.rs:77:9
[INFO] [stdout]    |
[INFO] [stdout] 77 |         } else {
[INFO] [stdout]    |         ^
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]    = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]    |
[INFO] [stdout] 70 ~         match self.get(name)
[INFO] [stdout] 71 ~         { Some(Value::Interface {
[INFO] [stdout] 72 +             name,
[INFO] [stdout] 73 +             extends,
[INFO] [stdout] 74 +             signatures,
[INFO] [stdout] 75 ~         }) => {
[INFO] [stdout] 76 |             Some((name, extends, signatures))
[INFO] [stdout] 77 ~         } _ => {
[INFO] [stdout] 78 |             None
[INFO] [stdout] 79 ~         }}
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]  ::: runtime/src/eval/statement/variable.rs
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> runtime/src/lib.rs:83:12
[INFO] [stdout]     |
[INFO] [stdout]  83 |         if let Some(value) = self.get(name) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^--------------
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout]     = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> runtime/src/lib.rs:103:9
[INFO] [stdout]     |
[INFO] [stdout] 103 |         } else {
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout]  83 ~         match self.get(name) { Some(value) => {
[INFO] [stdout]  84 |             match value {
[INFO] [stdout] ...
[INFO] [stdout] 102 |             }
[INFO] [stdout] 103 ~         } _ => {
[INFO] [stdout] 104 |             None
[INFO] [stdout] 105 ~         }}
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]   = cause: error: custom attribute panicked
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> runtime/src/lib.rs:25:12
[INFO] [stdout]     |
[INFO] [stdout]  25 |         if let Some($variant(x)) = $value {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 109 |         try_unpack!(Value::Number, self.get(name)).unwrap()
[INFO] [stdout]     |         ------------------------------------------
[INFO] [stdout]     |         |                          |
[INFO] [stdout]     |         |                          this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |         in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> runtime/src/lib.rs:27:9
[INFO] [stdout]     |
[INFO] [stdout]  27 |         } else {
[INFO] [stdout]     |         ^
[INFO] [stdout] ...
[INFO] [stdout] 109 |         try_unpack!(Value::Number, self.get(name)).unwrap()
[INFO] [stdout]     |         ------------------------------------------ in this macro invocation
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `try_unpack` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]              --> runtime/src/api/events.rs:17:1
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> runtime/src/lib.rs:25:12
[INFO] [stdout]     |
[INFO] [stdout]  25 |         if let Some($variant(x)) = $value {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |         try_unpack!(Value::Boolean, self.get(name)).unwrap()
[INFO] [stdout]     |         -------------------------------------------
[INFO] [stdout]     |         |                           |
[INFO] [stdout]     |         |                           this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |         in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> runtime/src/lib.rs:27:9
[INFO] [stdout]     |
[INFO] [stdout]  27 |         } else {
[INFO] [stdout]     |         ^
[INFO] [stdout] ...
[INFO] [stdout] 113 |         try_unpack!(Value::Boolean, self.get(name)).unwrap()
[INFO] [stdout]     |         ------------------------------------------- in this macro invocation
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `try_unpack` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               |
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> runtime/src/lib.rs:25:12
[INFO] [stdout]     |
[INFO] [stdout]  25 |         if let Some($variant(x)) = $value {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |         try_unpack!(Value::String, self.get(name)).unwrap()
[INFO] [stdout]     |         ------------------------------------------
[INFO] [stdout]     |         |                          |
[INFO] [stdout]     |         |                          this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |         in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> runtime/src/lib.rs:27:9
[INFO] [stdout]     |
[INFO] [stdout]  27 |         } else {
[INFO] [stdout]     |         ^
[INFO] [stdout] ...
[INFO] [stdout] 117 |         try_unpack!(Value::String, self.get(name)).unwrap()
[INFO] [stdout]     |         ------------------------------------------ in this macro invocation
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `try_unpack` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            17 | #[tsr_macro::native_module("events")]
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> runtime/src/lib.rs:25:12
[INFO] [stdout]     |
[INFO] [stdout]  25 |         if let Some($variant(x)) = $value {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |         try_unpack!(Value::Number, self.get(name))
[INFO] [stdout]     |         ------------------------------------------
[INFO] [stdout]     |         |                          |
[INFO] [stdout]     |         |                          this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |         in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> runtime/src/lib.rs:27:9
[INFO] [stdout]     |
[INFO] [stdout]  27 |         } else {
[INFO] [stdout]     |         ^
[INFO] [stdout] ...
[INFO] [stdout] 121 |         try_unpack!(Value::Number, self.get(name))
[INFO] [stdout]     |         ------------------------------------------ in this macro invocation
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `try_unpack` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> runtime/src/lib.rs:25:12
[INFO] [stdout]     |
[INFO] [stdout]  25 |         if let Some($variant(x)) = $value {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |         try_unpack!(Value::Boolean, self.get(name))
[INFO] [stdout]     |         -------------------------------------------
[INFO] [stdout]     |         |                           |
[INFO] [stdout]     |         |                           this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |         in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> runtime/src/lib.rs:27:9
[INFO] [stdout]     |
[INFO] [stdout]  27 |         } else {
[INFO] [stdout]     |         ^
[INFO] [stdout] ...
[INFO] [stdout] 125 |         try_unpack!(Value::Boolean, self.get(name))
[INFO] [stdout]     |         ------------------------------------------- in this macro invocation
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `try_unpack` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               |
[INFO] [stderr]               = help: message: called `Result::unwrap()` on an `Err` value: Error("expected identifier, found keyword `use`")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]              --> runtime/src/api/reflection.rs:17:1
[INFO] [stderr]               |
[INFO] [stderr]            17 | #[tsr_macro::native_module("reflection")]
[INFO] [stderr]               | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = help: message: called `Result::unwrap()` on an `Err` value: Error("expected identifier, found keyword `use`")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]              --> runtime/src/api/util.rs:11:1
[INFO] [stderr]               |
[INFO] [stderr]            11 | #[tsr_macro::native_module("util")]
[INFO] [stderr]               | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = help: message: called `Result::unwrap()` on an `Err` value: Error("expected identifier, found keyword `use`")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning: relative drop order changing in Rust 2024
[INFO] [stderr]              --> runtime/src/eval/statement/variable.rs:24:27
[INFO] [stderr]               |
[INFO] [stderr]            12 |           let mut last = Value::None;
[INFO] [stderr]               |               --------
[INFO] [stderr]               |               |
[INFO] [stderr]               |               `last` calls a custom destructor
[INFO] [stderr]               |               `last` will be dropped later as of Edition 2024
[INFO] [stderr]            ...
[INFO] [stderr]            21 |               let (value_span, value) = if let Some(expression) = variable.initializer {
[INFO] [stderr]               |  _______________________________________-
[INFO] [stderr]            22 | |                 (
[INFO] [stderr]            23 | |                     expression.span,
[INFO] [stderr]            24 | |                     match self.eval_expression(expression) {
[INFO] [stderr]               | |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]               | |                           |
[INFO] [stderr]               | |                           this value will be stored in a temporary; let us call it `#2`
[INFO] [stderr]               | |                           up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stderr]            ...  |
[INFO] [stderr]            29 | |             } else {
[INFO] [stderr]               | |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stderr]            30 | |                 (span, Value::None)
[INFO] [stderr]            31 | |             };
[INFO] [stderr]               | |             -
[INFO] [stderr]               | |             |
[INFO] [stderr]               | |_____________this value will be stored in a temporary; let us call it `#1`
[INFO] [stderr]               |               `#1` will be dropped later as of Edition 2024
[INFO] [stderr]               |
[INFO] [stderr]               = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stderr]               = note: `last` may invoke a custom destructor because it contains a trait object
[INFO] [stderr]               = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stderr]               = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stderr]               = warning: this changes meaning in Rust 2024
[INFO] [stderr]               = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stderr]               = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: aborting due to 3 previous errors; 1 warning emitted
[INFO] [stderr] help: to report this as a bug, open an issue at https://github.com/rust-lang/rust/issues, quoting the full output of this command
[INFO] [stderr] help: to possibly apply more fixes, pass in the `--broken-code` flag
[INFO] [stderr] note: original diagnostics will follow:
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> runtime/src/lib.rs:25:12
[INFO] [stdout]     |
[INFO] [stdout]  25 |         if let Some($variant(x)) = $value {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 129 |         try_unpack!(Value::String, self.get(name))
[INFO] [stdout]     |         ------------------------------------------
[INFO] [stdout]     |         |                          |
[INFO] [stdout]     |         |                          this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |         in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> runtime/src/lib.rs:27:9
[INFO] [stdout]     |
[INFO] [stdout]  27 |         } else {
[INFO] [stdout]     |         ^
[INFO] [stdout] ...
[INFO] [stdout] 129 |         try_unpack!(Value::String, self.get(name))
[INFO] [stdout]     |         ------------------------------------------ in this macro invocation
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `try_unpack` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl Into<Value>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> runtime/src/api/events.rs:25:53
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn get_type(&self, args: &FArguments) -> Option<impl Into<Value>> {
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, these lifetimes are in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> runtime/src/api/events.rs:25:17
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn get_type(&self, args: &FArguments) -> Option<impl Into<Value>> {
[INFO] [stdout]    |                 ^            ^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]    = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn get_type(&self, args: &FArguments) -> Option<impl Into<Value> + use<>> {
[INFO] [stdout]    |                                                                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl Into<Value>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> runtime/src/api/events.rs:31:62
[INFO] [stdout]    |
[INFO] [stdout] 31 |     fn get_function_data(&self, args: &FArguments) -> Option<impl Into<Value>> {
[INFO] [stdout]    |                                                              ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, these lifetimes are in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> runtime/src/api/events.rs:31:26
[INFO] [stdout]    |
[INFO] [stdout] 31 |     fn get_function_data(&self, args: &FArguments) -> Option<impl Into<Value>> {
[INFO] [stdout]    |                          ^            ^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 31 |     fn get_function_data(&self, args: &FArguments) -> Option<impl Into<Value> + use<>> {
[INFO] [stdout]    |                                                                               +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl Into<Value>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> runtime/src/api/events.rs:60:63
[INFO] [stdout]    |
[INFO] [stdout] 60 |     fn get_interface_data(&self, args: &FArguments) -> Option<impl Into<Value>> {
[INFO] [stdout]    |                                                               ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, these lifetimes are in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> runtime/src/api/events.rs:60:27
[INFO] [stdout]    |
[INFO] [stdout] 60 |     fn get_interface_data(&self, args: &FArguments) -> Option<impl Into<Value>> {
[INFO] [stdout]    |                           ^            ^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 60 |     fn get_interface_data(&self, args: &FArguments) -> Option<impl Into<Value> + use<>> {
[INFO] [stdout]    |                                                                                +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking tests v0.0.0 (/opt/rustwide/workdir/tests)
[INFO] [stdout] warning: `impl Into<Value>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> runtime/src/api/reflection.rs:20:53
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn get_type(&self, args: &FArguments) -> Option<impl Into<Value>> {
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, these lifetimes are in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> runtime/src/api/reflection.rs:20:17
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn get_type(&self, args: &FArguments) -> Option<impl Into<Value>> {
[INFO] [stdout]    |                 ^            ^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn get_type(&self, args: &FArguments) -> Option<impl Into<Value> + use<>> {
[INFO] [stdout]    |                                                                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl Into<Value>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> runtime/src/api/reflection.rs:26:62
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn get_function_data(&self, args: &FArguments) -> Option<impl Into<Value>> {
[INFO] [stdout]    |                                                              ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, these lifetimes are in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> runtime/src/api/reflection.rs:26:26
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn get_function_data(&self, args: &FArguments) -> Option<impl Into<Value>> {
[INFO] [stdout]    |                          ^            ^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn get_function_data(&self, args: &FArguments) -> Option<impl Into<Value> + use<>> {
[INFO] [stdout]    |                                                                               +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl Into<Value>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> runtime/src/api/reflection.rs:55:63
[INFO] [stdout]    |
[INFO] [stdout] 55 |     fn get_interface_data(&self, args: &FArguments) -> Option<impl Into<Value>> {
[INFO] [stdout]    |                                                               ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, these lifetimes are in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> runtime/src/api/reflection.rs:55:27
[INFO] [stdout]    |
[INFO] [stdout] 55 |     fn get_interface_data(&self, args: &FArguments) -> Option<impl Into<Value>> {
[INFO] [stdout]    |                           ^            ^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 55 |     fn get_interface_data(&self, args: &FArguments) -> Option<impl Into<Value> + use<>> {
[INFO] [stdout]    |                                                                                +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl Into<Value>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> runtime/src/api/util.rs:14:52
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn inspect(&self, args: &FArguments) -> Option<impl Into<Value>> {
[INFO] [stdout]    |                                                    ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, these lifetimes are in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> runtime/src/api/util.rs:14:16
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn inspect(&self, args: &FArguments) -> Option<impl Into<Value>> {
[INFO] [stdout]    |                ^            ^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn inspect(&self, args: &FArguments) -> Option<impl Into<Value> + use<>> {
[INFO] [stdout]    |                                                                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: errors present after applying fixes to crate `tsr_runtime`
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]    --> runtime/src/value/mod.rs:476:53
[INFO] [stdout]     |
[INFO] [stdout] 476 |     ([$name:ident: $($type_name:ty)|*] => $callback:expr) => {
[INFO] [stdout]     |                                                     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout]     = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]     |
[INFO] [stdout] 476 |     ([$name:ident: $($type_name:ty)|*] => $callback:expr_2021) => {
[INFO] [stdout]     |                                                         +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]  --> runtime/src/api/events.rs
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]   --> runtime/src/lib.rs:24:28
[INFO] [stdout]    |
[INFO] [stdout] 24 |     ($variant:path, $value:expr) => {
[INFO] [stdout]    |                            ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]    |
[INFO] [stdout] 24 |     ($variant:path, $value:expr_2021) => {
[INFO] [stdout]    |                                +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]  ::: runtime/src/api/reflection.rs
[INFO] [stderr]  ::: runtime/src/api/util.rs
[INFO] [stderr]  ::: runtime/src/eval/statement/variable.rs
[INFO] [stderr]   = cause: error: custom attribute panicked
[INFO] [stderr]              --> runtime/src/api/events.rs:17:1
[INFO] [stderr]               |
[INFO] [stderr]            17 | #[tsr_macro::native_module("events")]
[INFO] [stderr]               | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = help: message: called `Result::unwrap()` on an `Err` value: Error("expected identifier, found keyword `use`")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]              --> runtime/src/api/reflection.rs:17:1
[INFO] [stderr]               |
[INFO] [stderr]            17 | #[tsr_macro::native_module("reflection")]
[INFO] [stderr]               | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = help: message: called `Result::unwrap()` on an `Err` value: Error("expected identifier, found keyword `use`")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: custom attribute panicked
[INFO] [stderr]              --> runtime/src/api/util.rs:11:1
[INFO] [stderr]               |
[INFO] [stderr]            11 | #[tsr_macro::native_module("util")]
[INFO] [stderr]               | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]               |
[INFO] [stderr]               = help: message: called `Result::unwrap()` on an `Err` value: Error("expected identifier, found keyword `use`")
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning: relative drop order changing in Rust 2024
[INFO] [stderr]              --> runtime/src/eval/statement/variable.rs:24:27
[INFO] [stderr]               |
[INFO] [stderr]            12 |           let mut last = Value::None;
[INFO] [stderr]               |               --------
[INFO] [stderr]               |               |
[INFO] [stderr]               |               `last` calls a custom destructor
[INFO] [stderr]               |               `last` will be dropped later as of Edition 2024
[INFO] [stderr]            ...
[INFO] [stderr]            21 |               let (value_span, value) = if let Some(expression) = variable.initializer {
[INFO] [stderr]               |  _______________________________________-
[INFO] [stderr]            22 | |                 (
[INFO] [stderr]            23 | |                     expression.span,
[INFO] [stderr]            24 | |                     match self.eval_expression(expression) {
[INFO] [stderr]               | |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]               | |                           |
[INFO] [stderr]               | |                           this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> runtime/src/eval/statement/variable.rs:24:27
[INFO] [stdout]    |
[INFO] [stdout] 12 |           let mut last = Value::None;
[INFO] [stdout]    |               --------
[INFO] [stdout]    |               |
[INFO] [stdout]    |               `last` calls a custom destructor
[INFO] [stdout]    |               `last` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 21 |               let (value_span, value) = if let Some(expression) = variable.initializer {
[INFO] [stdout]    |  _______________________________________-
[INFO] [stdout] 22 | |                 (
[INFO] [stdout] 23 | |                     expression.span,
[INFO] [stdout] 24 | |                     match self.eval_expression(expression) {
[INFO] [stdout]    | |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    | |                           |
[INFO] [stdout]    | |                           this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]    | |                           up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...  |
[INFO] [stdout] 29 | |             } else {
[INFO] [stdout]    | |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 30 | |                 (span, Value::None)
[INFO] [stdout] 31 | |             };
[INFO] [stdout]    | |             -
[INFO] [stdout]    | |             |
[INFO] [stdout]    | |_____________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |               `#1` will be dropped later as of Edition 2024
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: `last` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               | |                           up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]   --> runtime/src/lib.rs:70:12
[INFO] [stdout]    |
[INFO] [stdout] 70 |           if let Some(Value::Interface {
[INFO] [stdout]    |  ____________^
[INFO] [stdout] 71 | |             name,
[INFO] [stdout] 72 | |             extends,
[INFO] [stdout] 73 | |             signatures,
[INFO] [stdout] 74 | |         }) = self.get(name)
[INFO] [stdout]    | |______________-------------^
[INFO] [stdout]    |                |
[INFO] [stdout]    |                this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]    |
[INFO] [stdout]    = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]   --> runtime/src/lib.rs:77:9
[INFO] [stdout]    |
[INFO] [stdout] 77 |         } else {
[INFO] [stdout]    |         ^
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]    = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]    |
[INFO] [stdout] 70 ~         match self.get(name)
[INFO] [stdout] 71 ~         { Some(Value::Interface {
[INFO] [stdout] 72 +             name,
[INFO] [stdout] 73 +             extends,
[INFO] [stdout] 74 +             signatures,
[INFO] [stdout] 75 ~         }) => {
[INFO] [stdout] 76 |             Some((name, extends, signatures))
[INFO] [stdout] 77 ~         } _ => {
[INFO] [stdout] 78 |             None
[INFO] [stdout] 79 ~         }}
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            ...  |
[INFO] [stderr]            29 | |             } else {
[INFO] [stderr]               | |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stderr]            30 | |                 (span, Value::None)
[INFO] [stderr]            31 | |             };
[INFO] [stderr]               | |             -
[INFO] [stderr]               | |             |
[INFO] [stderr]               | |_____________this value will be stored in a temporary; let us call it `#1`
[INFO] [stderr]               |               `#1` will be dropped later as of Edition 2024
[INFO] [stderr]               |
[INFO] [stderr]               = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stderr]               = note: `last` may invoke a custom destructor because it contains a trait object
[INFO] [stderr]               = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stderr]               = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stderr]               = warning: this changes meaning in Rust 2024
[INFO] [stderr]               = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stderr]               = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: aborting due to 3 previous errors; 1 warning emitted
[INFO] [stderr] help: to report this as a bug, open an issue at https://github.com/rust-lang/rust/issues, quoting the full output of this command
[INFO] [stderr] help: to possibly apply more fixes, pass in the `--broken-code` flag
[INFO] [stderr] note: original diagnostics will follow:
[INFO] [stderr]    Migrating tests/runtime.rs from 2021 edition to 2024
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> runtime/src/lib.rs:83:12
[INFO] [stdout]     |
[INFO] [stdout]  83 |         if let Some(value) = self.get(name) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^--------------
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |
[INFO] [stdout]     = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> runtime/src/lib.rs:103:9
[INFO] [stdout]     |
[INFO] [stdout] 103 |         } else {
[INFO] [stdout]     |         ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021
[INFO] [stdout]     |
[INFO] [stdout]  83 ~         match self.get(name) { Some(value) => {
[INFO] [stdout]  84 |             match value {
[INFO] [stdout] ...
[INFO] [stdout] 102 |             }
[INFO] [stdout] 103 ~         } _ => {
[INFO] [stdout] 104 |             None
[INFO] [stdout] 105 ~         }}
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> runtime/src/lib.rs:25:12
[INFO] [stdout]     |
[INFO] [stdout]  25 |         if let Some($variant(x)) = $value {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 109 |         try_unpack!(Value::Number, self.get(name)).unwrap()
[INFO] [stdout]     |         ------------------------------------------
[INFO] [stdout]     |         |                          |
[INFO] [stdout]     |         |                          this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |         in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> runtime/src/lib.rs:27:9
[INFO] [stdout]     |
[INFO] [stdout]  27 |         } else {
[INFO] [stdout]     |         ^
[INFO] [stdout] ...
[INFO] [stdout] 109 |         try_unpack!(Value::Number, self.get(name)).unwrap()
[INFO] [stdout]     |         ------------------------------------------ in this macro invocation
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `try_unpack` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> runtime/src/lib.rs:25:12
[INFO] [stdout]     |
[INFO] [stdout]  25 |         if let Some($variant(x)) = $value {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |         try_unpack!(Value::Boolean, self.get(name)).unwrap()
[INFO] [stdout]     |         -------------------------------------------
[INFO] [stdout]     |         |                           |
[INFO] [stdout]     |         |                           this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |         in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> runtime/src/lib.rs:27:9
[INFO] [stdout]     |
[INFO] [stdout]  27 |         } else {
[INFO] [stdout]     |         ^
[INFO] [stdout] ...
[INFO] [stdout] 113 |         try_unpack!(Value::Boolean, self.get(name)).unwrap()
[INFO] [stdout]     |         ------------------------------------------- in this macro invocation
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `try_unpack` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> runtime/src/lib.rs:25:12
[INFO] [stdout]     |
[INFO] [stdout]  25 |         if let Some($variant(x)) = $value {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |         try_unpack!(Value::String, self.get(name)).unwrap()
[INFO] [stdout]     |         ------------------------------------------
[INFO] [stdout]     |         |                          |
[INFO] [stdout]     |         |                          this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |         in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> runtime/src/lib.rs:27:9
[INFO] [stdout]     |
[INFO] [stdout]  27 |         } else {
[INFO] [stdout]     |         ^
[INFO] [stdout] ...
[INFO] [stdout] 117 |         try_unpack!(Value::String, self.get(name)).unwrap()
[INFO] [stdout]     |         ------------------------------------------ in this macro invocation
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `try_unpack` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> runtime/src/lib.rs:25:12
[INFO] [stdout]     |
[INFO] [stdout]  25 |         if let Some($variant(x)) = $value {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |         try_unpack!(Value::Number, self.get(name))
[INFO] [stdout]     |         ------------------------------------------
[INFO] [stdout]     |         |                          |
[INFO] [stdout]     |         |                          this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |         in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> runtime/src/lib.rs:27:9
[INFO] [stdout]     |
[INFO] [stdout]  27 |         } else {
[INFO] [stdout]     |         ^
[INFO] [stdout] ...
[INFO] [stdout] 121 |         try_unpack!(Value::Number, self.get(name))
[INFO] [stdout]     |         ------------------------------------------ in this macro invocation
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `try_unpack` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> runtime/src/lib.rs:25:12
[INFO] [stdout]     |
[INFO] [stdout]  25 |         if let Some($variant(x)) = $value {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |         try_unpack!(Value::Boolean, self.get(name))
[INFO] [stdout]     |         -------------------------------------------
[INFO] [stdout]     |         |                           |
[INFO] [stdout]     |         |                           this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |         in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> runtime/src/lib.rs:27:9
[INFO] [stdout]     |
[INFO] [stdout]  27 |         } else {
[INFO] [stdout]     |         ^
[INFO] [stdout] ...
[INFO] [stdout] 125 |         try_unpack!(Value::Boolean, self.get(name))
[INFO] [stdout]     |         ------------------------------------------- in this macro invocation
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `try_unpack` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> runtime/src/lib.rs:25:12
[INFO] [stdout]     |
[INFO] [stdout]  25 |         if let Some($variant(x)) = $value {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 129 |         try_unpack!(Value::String, self.get(name))
[INFO] [stdout]     |         ------------------------------------------
[INFO] [stdout]     |         |                          |
[INFO] [stdout]     |         |                          this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |         in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: value may invoke a custom destructor because it contains a trait object
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> runtime/src/lib.rs:27:9
[INFO] [stdout]     |
[INFO] [stdout]  27 |         } else {
[INFO] [stdout]     |         ^
[INFO] [stdout] ...
[INFO] [stdout] 129 |         try_unpack!(Value::String, self.get(name))
[INFO] [stdout]     |         ------------------------------------------ in this macro invocation
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `try_unpack` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl Into<Value>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> runtime/src/api/events.rs:25:53
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn get_type(&self, args: &FArguments) -> Option<impl Into<Value>> {
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, these lifetimes are in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> runtime/src/api/events.rs:25:17
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn get_type(&self, args: &FArguments) -> Option<impl Into<Value>> {
[INFO] [stdout]    |                 ^            ^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]    = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn get_type(&self, args: &FArguments) -> Option<impl Into<Value> + use<>> {
[INFO] [stdout]    |                                                                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl Into<Value>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> runtime/src/api/events.rs:31:62
[INFO] [stdout]    |
[INFO] [stdout] 31 |     fn get_function_data(&self, args: &FArguments) -> Option<impl Into<Value>> {
[INFO] [stdout]    |                                                              ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, these lifetimes are in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> runtime/src/api/events.rs:31:26
[INFO] [stdout]    |
[INFO] [stdout] 31 |     fn get_function_data(&self, args: &FArguments) -> Option<impl Into<Value>> {
[INFO] [stdout]    |                          ^            ^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 31 |     fn get_function_data(&self, args: &FArguments) -> Option<impl Into<Value> + use<>> {
[INFO] [stdout]    |                                                                               +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl Into<Value>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> runtime/src/api/events.rs:60:63
[INFO] [stdout]    |
[INFO] [stdout] 60 |     fn get_interface_data(&self, args: &FArguments) -> Option<impl Into<Value>> {
[INFO] [stdout]    |                                                               ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, these lifetimes are in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> runtime/src/api/events.rs:60:27
[INFO] [stdout]    |
[INFO] [stdout] 60 |     fn get_interface_data(&self, args: &FArguments) -> Option<impl Into<Value>> {
[INFO] [stdout]    |                           ^            ^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 60 |     fn get_interface_data(&self, args: &FArguments) -> Option<impl Into<Value> + use<>> {
[INFO] [stdout]    |                                                                                +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl Into<Value>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> runtime/src/api/reflection.rs:20:53
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn get_type(&self, args: &FArguments) -> Option<impl Into<Value>> {
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, these lifetimes are in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> runtime/src/api/reflection.rs:20:17
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn get_type(&self, args: &FArguments) -> Option<impl Into<Value>> {
[INFO] [stdout]    |                 ^            ^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn get_type(&self, args: &FArguments) -> Option<impl Into<Value> + use<>> {
[INFO] [stdout]    |                                                                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl Into<Value>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> runtime/src/api/reflection.rs:26:62
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn get_function_data(&self, args: &FArguments) -> Option<impl Into<Value>> {
[INFO] [stdout]    |                                                              ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, these lifetimes are in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> runtime/src/api/reflection.rs:26:26
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn get_function_data(&self, args: &FArguments) -> Option<impl Into<Value>> {
[INFO] [stdout]    |                          ^            ^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn get_function_data(&self, args: &FArguments) -> Option<impl Into<Value> + use<>> {
[INFO] [stdout]    |                                                                               +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl Into<Value>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> runtime/src/api/reflection.rs:55:63
[INFO] [stdout]    |
[INFO] [stdout] 55 |     fn get_interface_data(&self, args: &FArguments) -> Option<impl Into<Value>> {
[INFO] [stdout]    |                                                               ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, these lifetimes are in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> runtime/src/api/reflection.rs:55:27
[INFO] [stdout]    |
[INFO] [stdout] 55 |     fn get_interface_data(&self, args: &FArguments) -> Option<impl Into<Value>> {
[INFO] [stdout]    |                           ^            ^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 55 |     fn get_interface_data(&self, args: &FArguments) -> Option<impl Into<Value> + use<>> {
[INFO] [stdout]    |                                                                                +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl Into<Value>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> runtime/src/api/util.rs:14:52
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn inspect(&self, args: &FArguments) -> Option<impl Into<Value>> {
[INFO] [stdout]    |                                                    ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, these lifetimes are in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> runtime/src/api/util.rs:14:16
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn inspect(&self, args: &FArguments) -> Option<impl Into<Value>> {
[INFO] [stdout]    |                ^            ^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn inspect(&self, args: &FArguments) -> Option<impl Into<Value> + use<>> {
[INFO] [stdout]    |                                                                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating tests/parser.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/lexer.rs from 2021 edition to 2024
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 19.07s
[INFO] [stderr] crater-edition-check: tsr-macro v0.1.0 (/opt/rustwide/workdir/macro) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: tsr-lexer v0.0.0 (/opt/rustwide/workdir/lexer) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: tsr-parser v0.0.0 (/opt/rustwide/workdir/parser) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: tsr-runtime v0.0.0 (/opt/rustwide/workdir/runtime) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: tests v0.0.0 (/opt/rustwide/workdir/tests) updating edition from 2021 to 2024
[INFO] [stderr]     Checking tsr-lexer v0.0.0 (/opt/rustwide/workdir/lexer)
[INFO] [stderr]    Compiling tsr-macro v0.1.0 (/opt/rustwide/workdir/macro)
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> lexer/src/util.rs:23:45
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn complete_byte_slice_str_from_utf8(c: BytesSpan) -> Result<&str, Utf8Error> {
[INFO] [stdout]    |                                             ^^^^^^^^^            ^^^^ the same lifetime is elided here
[INFO] [stdout]    |                                             |
[INFO] [stdout]    |                                             the lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn complete_byte_slice_str_from_utf8(c: BytesSpan<'_>) -> Result<&str, Utf8Error> {
[INFO] [stdout]    |                                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> lexer/src/util.rs:23:45
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn complete_byte_slice_str_from_utf8(c: BytesSpan) -> Result<&str, Utf8Error> {
[INFO] [stdout]    |                                             ^^^^^^^^^            ^^^^ the same lifetime is elided here
[INFO] [stdout]    |                                             |
[INFO] [stdout]    |                                             the lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn complete_byte_slice_str_from_utf8(c: BytesSpan<'_>) -> Result<&str, Utf8Error> {
[INFO] [stdout]    |                                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking tsr-parser v0.0.0 (/opt/rustwide/workdir/parser)
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> parser/src/lib.rs:24:33
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub fn parse_tokens(tokens: &[Positioned<Token>]) -> TokenResult<Block> {
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^^^^     ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                                 |
[INFO] [stdout]    |                                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub fn parse_tokens(tokens: &[Positioned<Token>]) -> TokenResult<'_, Block> {
[INFO] [stdout]    |                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> parser/src/tags.rs:18:46
[INFO] [stdout]     |
[INFO] [stdout]  18 |               pub fn $func_name(tokens: Tokens<'_>) -> TokenResult<Positioned<Tokens<'_>>> {
[INFO] [stdout]     |                                                ^^      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                |       |                             |
[INFO] [stdout]     |                                                |       |                             the same lifetime is elided here
[INFO] [stdout]     |                                                |       the same lifetime is hidden here
[INFO] [stdout]     |                                                the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout]  36 | / tokens! {
[INFO] [stdout]  37 | |     const_tag => Token::ReservedWord(ReservedWord::Const);
[INFO] [stdout]  38 | |     let_tag => Token::ReservedWord(ReservedWord::Let);
[INFO] [stdout]  39 | |     constructor_tag => Token::ReservedWord(ReservedWord::Constructor);
[INFO] [stdout] ...   |
[INFO] [stdout] 120 | |     eof_tag => Token::EOF;
[INFO] [stdout] 121 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `tokens` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consistently use `'_`
[INFO] [stdout]     |
[INFO] [stdout]  18 |             pub fn $func_name(tokens: Tokens<'_>) -> TokenResult<'_, Positioned<Tokens<'_>>> {
[INFO] [stdout]     |                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> parser/src/lib.rs:24:33
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub fn parse_tokens(tokens: &[Positioned<Token>]) -> TokenResult<Block> {
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^^^^     ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                                 |
[INFO] [stdout]    |                                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub fn parse_tokens(tokens: &[Positioned<Token>]) -> TokenResult<'_, Block> {
[INFO] [stdout]    |                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> parser/src/tags.rs:18:46
[INFO] [stdout]     |
[INFO] [stdout]  18 |               pub fn $func_name(tokens: Tokens<'_>) -> TokenResult<Positioned<Tokens<'_>>> {
[INFO] [stdout]     |                                                ^^      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                |       |                             |
[INFO] [stdout]     |                                                |       |                             the same lifetime is elided here
[INFO] [stdout]     |                                                |       the same lifetime is hidden here
[INFO] [stdout]     |                                                the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout]  36 | / tokens! {
[INFO] [stdout]  37 | |     const_tag => Token::ReservedWord(ReservedWord::Const);
[INFO] [stdout]  38 | |     let_tag => Token::ReservedWord(ReservedWord::Let);
[INFO] [stdout]  39 | |     constructor_tag => Token::ReservedWord(ReservedWord::Constructor);
[INFO] [stdout] ...   |
[INFO] [stdout] 120 | |     eof_tag => Token::EOF;
[INFO] [stdout] 121 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `tokens` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consistently use `'_`
[INFO] [stdout]     |
[INFO] [stdout]  18 |             pub fn $func_name(tokens: Tokens<'_>) -> TokenResult<'_, Positioned<Tokens<'_>>> {
[INFO] [stdout]     |                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking tsr-runtime v0.0.0 (/opt/rustwide/workdir/runtime)
[INFO] [stdout] warning: unreachable arm
[INFO] [stdout]   --> runtime/src/eval/expression/call.rs:13:50
[INFO] [stdout]    |
[INFO] [stdout] 12 |               Value::Reference(path, scope) => match todo!() {
[INFO] [stdout]    |                                                      ------- any code following this expression is unreachable
[INFO] [stdout] 13 |                   Value::Reference(path, scope) => self
[INFO] [stdout]    |  __________________________________________________^
[INFO] [stdout] 14 | |                     .context
[INFO] [stdout] 15 | |                     .lock()
[INFO] [stdout] 16 | |                     .unwrap()
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | |                     .value
[INFO] [stdout] 20 | |                     .clone(),
[INFO] [stdout]    | |____________________________^ unreachable arm
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0502]: cannot borrow value as mutable because it is also borrowed as immutable
[INFO] [stdout]   --> runtime/src/api/events.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[tsr_macro::native_module("events")]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]    | |                                   |
[INFO] [stdout]    | |                                   immutable borrow might be used here, when `result` is dropped and runs the destructor for type `Option<impl Into<Value>>`
[INFO] [stdout]    | mutable borrow occurs here
[INFO] [stdout]    | immutable borrow occurs here
[INFO] [stdout]    |
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]   --> runtime/src/api/events.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[tsr_macro::native_module("events")]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: this error originates in the attribute macro `tsr_macro::native_module` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn get_type(&self, args: &FArguments) -> Option<impl Into<Value> + use<>> {
[INFO] [stdout]    |                                                                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0502]: cannot borrow value as mutable because it is also borrowed as immutable
[INFO] [stdout]   --> runtime/src/api/events.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[tsr_macro::native_module("events")]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]    | |                                   |
[INFO] [stdout]    | |                                   immutable borrow might be used here, when `result` is dropped and runs the destructor for type `Option<impl Into<Value>>`
[INFO] [stdout]    | mutable borrow occurs here
[INFO] [stdout]    | immutable borrow occurs here
[INFO] [stdout]    |
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]   --> runtime/src/api/events.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[tsr_macro::native_module("events")]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: this error originates in the attribute macro `tsr_macro::native_module` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 31 |     fn get_function_data(&self, args: &FArguments) -> Option<impl Into<Value> + use<>> {
[INFO] [stdout]    |                                                                               +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0502]: cannot borrow value as mutable because it is also borrowed as immutable
[INFO] [stdout]   --> runtime/src/api/events.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[tsr_macro::native_module("events")]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]    | |                                   |
[INFO] [stdout]    | |                                   immutable borrow might be used here, when `result` is dropped and runs the destructor for type `Option<impl Into<Value>>`
[INFO] [stdout]    | mutable borrow occurs here
[INFO] [stdout]    | immutable borrow occurs here
[INFO] [stdout]    |
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]   --> runtime/src/api/events.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[tsr_macro::native_module("events")]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: this error originates in the attribute macro `tsr_macro::native_module` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 60 |     fn get_interface_data(&self, args: &FArguments) -> Option<impl Into<Value> + use<>> {
[INFO] [stdout]    |                                                                                +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0502]: cannot borrow value as mutable because it is also borrowed as immutable
[INFO] [stdout]   --> runtime/src/api/reflection.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[tsr_macro::native_module("reflection")]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]    | |                                       |
[INFO] [stdout]    | |                                       immutable borrow might be used here, when `result` is dropped and runs the destructor for type `Option<impl Into<Value>>`
[INFO] [stdout]    | mutable borrow occurs here
[INFO] [stdout]    | immutable borrow occurs here
[INFO] [stdout]    |
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]   --> runtime/src/api/reflection.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[tsr_macro::native_module("reflection")]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: this error originates in the attribute macro `tsr_macro::native_module` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn get_type(&self, args: &FArguments) -> Option<impl Into<Value> + use<>> {
[INFO] [stdout]    |                                                                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0502]: cannot borrow value as mutable because it is also borrowed as immutable
[INFO] [stdout]   --> runtime/src/api/reflection.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[tsr_macro::native_module("reflection")]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]    | |                                       |
[INFO] [stdout]    | |                                       immutable borrow might be used here, when `result` is dropped and runs the destructor for type `Option<impl Into<Value>>`
[INFO] [stdout]    | mutable borrow occurs here
[INFO] [stdout]    | immutable borrow occurs here
[INFO] [stdout]    |
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]   --> runtime/src/api/reflection.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[tsr_macro::native_module("reflection")]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: this error originates in the attribute macro `tsr_macro::native_module` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn get_function_data(&self, args: &FArguments) -> Option<impl Into<Value> + use<>> {
[INFO] [stdout]    |                                                                               +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0502]: cannot borrow value as mutable because it is also borrowed as immutable
[INFO] [stdout]   --> runtime/src/api/reflection.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[tsr_macro::native_module("reflection")]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]    | |                                       |
[INFO] [stdout]    | |                                       immutable borrow might be used here, when `result` is dropped and runs the destructor for type `Option<impl Into<Value>>`
[INFO] [stdout]    | mutable borrow occurs here
[INFO] [stdout]    | immutable borrow occurs here
[INFO] [stdout]    |
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]   --> runtime/src/api/reflection.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[tsr_macro::native_module("reflection")]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: this error originates in the attribute macro `tsr_macro::native_module` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 55 |     fn get_interface_data(&self, args: &FArguments) -> Option<impl Into<Value> + use<>> {
[INFO] [stdout]    |                                                                                +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable arm
[INFO] [stdout]   --> runtime/src/eval/expression/call.rs:13:50
[INFO] [stdout]    |
[INFO] [stdout] 12 |               Value::Reference(path, scope) => match todo!() {
[INFO] [stdout]    |                                                      ------- any code following this expression is unreachable
[INFO] [stdout] 13 |                   Value::Reference(path, scope) => self
[INFO] [stdout]    |  __________________________________________________^
[INFO] [stdout] 14 | |                     .context
[INFO] [stdout] 15 | |                     .lock()
[INFO] [stdout] 16 | |                     .unwrap()
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | |                     .value
[INFO] [stdout] 20 | |                     .clone(),
[INFO] [stdout]    | |____________________________^ unreachable arm
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0502]: cannot borrow value as mutable because it is also borrowed as immutable
[INFO] [stdout]   --> runtime/src/api/util.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[tsr_macro::native_module("util")]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]    | |                                 |
[INFO] [stdout]    | |                                 immutable borrow might be used here, when `result` is dropped and runs the destructor for type `Option<impl Into<Value>>`
[INFO] [stdout]    | mutable borrow occurs here
[INFO] [stdout]    | immutable borrow occurs here
[INFO] [stdout]    |
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]   --> runtime/src/api/util.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[tsr_macro::native_module("util")]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: this error originates in the attribute macro `tsr_macro::native_module` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn inspect(&self, args: &FArguments) -> Option<impl Into<Value> + use<>> {
[INFO] [stdout]    |                                                                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]   --> runtime/src/eval/expression/array.rs:15:34
[INFO] [stdout]    |
[INFO] [stdout] 15 |                 Value::Reference(path, scope) => todo!(),
[INFO] [stdout]    |                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scope`
[INFO] [stdout]   --> runtime/src/eval/expression/array.rs:15:40
[INFO] [stdout]    |
[INFO] [stdout] 15 |                 Value::Reference(path, scope) => todo!(),
[INFO] [stdout]    |                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_scope`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]   --> runtime/src/eval/expression/binary.rs:74:42
[INFO] [stdout]    |
[INFO] [stdout] 74 |                         Value::Reference(path, scope) => todo!(),
[INFO] [stdout]    |                                          ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scope`
[INFO] [stdout]   --> runtime/src/eval/expression/binary.rs:74:48
[INFO] [stdout]    |
[INFO] [stdout] 74 |                         Value::Reference(path, scope) => todo!(),
[INFO] [stdout]    |                                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_scope`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]   --> runtime/src/eval/expression/call.rs:32:42
[INFO] [stdout]    |
[INFO] [stdout] 32 |                         Value::Reference(path, scope) => todo!(),
[INFO] [stdout]    |                                          ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scope`
[INFO] [stdout]   --> runtime/src/eval/expression/call.rs:32:48
[INFO] [stdout]    |
[INFO] [stdout] 32 |                         Value::Reference(path, scope) => todo!(),
[INFO] [stdout]    |                                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_scope`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]   --> runtime/src/eval/expression/call.rs:12:30
[INFO] [stdout]    |
[INFO] [stdout] 12 |             Value::Reference(path, scope) => match todo!() {
[INFO] [stdout]    |                              ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scope`
[INFO] [stdout]   --> runtime/src/eval/expression/call.rs:12:36
[INFO] [stdout]    |
[INFO] [stdout] 12 |             Value::Reference(path, scope) => match todo!() {
[INFO] [stdout]    |                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_scope`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index_span`
[INFO] [stdout]   --> runtime/src/eval/expression/index.rs:11:14
[INFO] [stdout]    |
[INFO] [stdout] 11 |         let (index_span, index) = (
[INFO] [stdout]    |              ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_index_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]  --> runtime/src/eval/statement/export.rs:8:14
[INFO] [stdout]   |
[INFO] [stdout] 8 |         let (span, value) = export.unpack();
[INFO] [stdout]   |              ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `statement`
[INFO] [stdout]  --> runtime/src/eval/statement/if_else.rs:7:31
[INFO] [stdout]   |
[INFO] [stdout] 7 |     pub fn eval_if(&mut self, statement: Positioned<IfStatement>) -> Value {
[INFO] [stdout]   |                               ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_statement`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]   --> runtime/src/eval/statement/variable.rs:11:14
[INFO] [stdout]    |
[INFO] [stdout] 11 |         let (span, variables) = variables.unpack();
[INFO] [stdout]    |              ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]   --> runtime/src/eval/statement/variable.rs:25:42
[INFO] [stdout]    |
[INFO] [stdout] 25 |                         Value::Reference(path, scope) => todo!(),
[INFO] [stdout]    |                                          ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scope`
[INFO] [stdout]   --> runtime/src/eval/statement/variable.rs:25:48
[INFO] [stdout]    |
[INFO] [stdout] 25 |                         Value::Reference(path, scope) => todo!(),
[INFO] [stdout]    |                                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_scope`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0502]: cannot borrow value as mutable because it is also borrowed as immutable
[INFO] [stdout]   --> runtime/src/api/events.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[tsr_macro::native_module("events")]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]    | |                                   |
[INFO] [stdout]    | |                                   immutable borrow might be used here, when `result` is dropped and runs the destructor for type `Option<impl Into<Value>>`
[INFO] [stdout]    | mutable borrow occurs here
[INFO] [stdout]    | immutable borrow occurs here
[INFO] [stdout]    |
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]   --> runtime/src/api/events.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[tsr_macro::native_module("events")]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: this error originates in the attribute macro `tsr_macro::native_module` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn get_type(&self, args: &FArguments) -> Option<impl Into<Value> + use<>> {
[INFO] [stdout]    |                                                                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0502]: cannot borrow value as mutable because it is also borrowed as immutable
[INFO] [stdout]   --> runtime/src/api/events.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[tsr_macro::native_module("events")]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]    | |                                   |
[INFO] [stdout]    | |                                   immutable borrow might be used here, when `result` is dropped and runs the destructor for type `Option<impl Into<Value>>`
[INFO] [stdout]    | mutable borrow occurs here
[INFO] [stdout]    | immutable borrow occurs here
[INFO] [stdout]    |
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]   --> runtime/src/api/events.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[tsr_macro::native_module("events")]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: this error originates in the attribute macro `tsr_macro::native_module` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 31 |     fn get_function_data(&self, args: &FArguments) -> Option<impl Into<Value> + use<>> {
[INFO] [stdout]    |                                                                               +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0502]: cannot borrow value as mutable because it is also borrowed as immutable
[INFO] [stdout]   --> runtime/src/api/events.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[tsr_macro::native_module("events")]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]    | |                                   |
[INFO] [stdout]    | |                                   immutable borrow might be used here, when `result` is dropped and runs the destructor for type `Option<impl Into<Value>>`
[INFO] [stdout]    | mutable borrow occurs here
[INFO] [stdout]    | immutable borrow occurs here
[INFO] [stdout]    |
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]   --> runtime/src/api/events.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[tsr_macro::native_module("events")]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: this error originates in the attribute macro `tsr_macro::native_module` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 60 |     fn get_interface_data(&self, args: &FArguments) -> Option<impl Into<Value> + use<>> {
[INFO] [stdout]    |                                                                                +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0502]: cannot borrow value as mutable because it is also borrowed as immutable
[INFO] [stdout]   --> runtime/src/api/reflection.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[tsr_macro::native_module("reflection")]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]    | |                                       |
[INFO] [stdout]    | |                                       immutable borrow might be used here, when `result` is dropped and runs the destructor for type `Option<impl Into<Value>>`
[INFO] [stdout]    | mutable borrow occurs here
[INFO] [stdout]    | immutable borrow occurs here
[INFO] [stdout]    |
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]   --> runtime/src/api/reflection.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[tsr_macro::native_module("reflection")]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: this error originates in the attribute macro `tsr_macro::native_module` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn get_type(&self, args: &FArguments) -> Option<impl Into<Value> + use<>> {
[INFO] [stdout]    |                                                                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0502]: cannot borrow value as mutable because it is also borrowed as immutable
[INFO] [stdout]   --> runtime/src/api/reflection.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[tsr_macro::native_module("reflection")]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]    | |                                       |
[INFO] [stdout]    | |                                       immutable borrow might be used here, when `result` is dropped and runs the destructor for type `Option<impl Into<Value>>`
[INFO] [stdout]    | mutable borrow occurs here
[INFO] [stdout]    | immutable borrow occurs here
[INFO] [stdout]    |
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]   --> runtime/src/api/reflection.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[tsr_macro::native_module("reflection")]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: this error originates in the attribute macro `tsr_macro::native_module` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn get_function_data(&self, args: &FArguments) -> Option<impl Into<Value> + use<>> {
[INFO] [stdout]    |                                                                               +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0502]: cannot borrow value as mutable because it is also borrowed as immutable
[INFO] [stdout]   --> runtime/src/api/reflection.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[tsr_macro::native_module("reflection")]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]    | |                                       |
[INFO] [stdout]    | |                                       immutable borrow might be used here, when `result` is dropped and runs the destructor for type `Option<impl Into<Value>>`
[INFO] [stdout]    | mutable borrow occurs here
[INFO] [stdout]    | immutable borrow occurs here
[INFO] [stdout]    |
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]   --> runtime/src/api/reflection.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | #[tsr_macro::native_module("reflection")]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: this error originates in the attribute macro `tsr_macro::native_module` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 55 |     fn get_interface_data(&self, args: &FArguments) -> Option<impl Into<Value> + use<>> {
[INFO] [stdout]    |                                                                                +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0502]: cannot borrow value as mutable because it is also borrowed as immutable
[INFO] [stdout]   --> runtime/src/api/util.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[tsr_macro::native_module("util")]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]    | |                                 |
[INFO] [stdout]    | |                                 immutable borrow might be used here, when `result` is dropped and runs the destructor for type `Option<impl Into<Value>>`
[INFO] [stdout]    | mutable borrow occurs here
[INFO] [stdout]    | immutable borrow occurs here
[INFO] [stdout]    |
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]   --> runtime/src/api/util.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[tsr_macro::native_module("util")]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: this error originates in the attribute macro `tsr_macro::native_module` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn inspect(&self, args: &FArguments) -> Option<impl Into<Value> + use<>> {
[INFO] [stdout]    |                                                                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `signature`
[INFO] [stdout]    --> runtime/src/value/mod.rs:606:47
[INFO] [stdout]     |
[INFO] [stdout] 606 | ...                   Signature::Method(signature) => name,
[INFO] [stdout]     |                                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_signature`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `members`
[INFO] [stdout]    --> runtime/src/value/mod.rs:736:49
[INFO] [stdout]     |
[INFO] [stdout] 736 |                         PrimaryType::ObjectType(members) => match self {
[INFO] [stdout]     |                                                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_members`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `func`
[INFO] [stdout]    --> runtime/src/value/mod.rs:834:34
[INFO] [stdout]     |
[INFO] [stdout] 834 |             Value::ArrowFunction(func) => PredefinedType::Any.into(),
[INFO] [stdout]     |                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_func`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> runtime/src/value/mod.rs:837:17
[INFO] [stdout]     |
[INFO] [stdout] 837 |                 name,
[INFO] [stdout]     |                 ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `extends`
[INFO] [stdout]    --> runtime/src/value/mod.rs:838:17
[INFO] [stdout]     |
[INFO] [stdout] 838 |                 extends,
[INFO] [stdout]     |                 ^^^^^^^ help: try ignoring the field: `extends: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `signatures`
[INFO] [stdout]    --> runtime/src/value/mod.rs:839:17
[INFO] [stdout]     |
[INFO] [stdout] 839 |                 signatures,
[INFO] [stdout]     |                 ^^^^^^^^^^ help: try ignoring the field: `signatures: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> runtime/src/value/mod.rs:842:17
[INFO] [stdout]     |
[INFO] [stdout] 842 |                 name,
[INFO] [stdout]     |                 ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `extends`
[INFO] [stdout]    --> runtime/src/value/mod.rs:843:17
[INFO] [stdout]     |
[INFO] [stdout] 843 |                 extends,
[INFO] [stdout]     |                 ^^^^^^^ help: try ignoring the field: `extends: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `implements`
[INFO] [stdout]    --> runtime/src/value/mod.rs:844:17
[INFO] [stdout]     |
[INFO] [stdout] 844 |                 implements,
[INFO] [stdout]     |                 ^^^^^^^^^^ help: try ignoring the field: `implements: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `constructors`
[INFO] [stdout]    --> runtime/src/value/mod.rs:845:17
[INFO] [stdout]     |
[INFO] [stdout] 845 |                 constructors,
[INFO] [stdout]     |                 ^^^^^^^^^^^^ help: try ignoring the field: `constructors: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fields`
[INFO] [stdout]    --> runtime/src/value/mod.rs:846:17
[INFO] [stdout]     |
[INFO] [stdout] 846 |                 fields,
[INFO] [stdout]     |                 ^^^^^^ help: try ignoring the field: `fields: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `methods`
[INFO] [stdout]    --> runtime/src/value/mod.rs:847:17
[INFO] [stdout]     |
[INFO] [stdout] 847 |                 methods,
[INFO] [stdout]     |                 ^^^^^^^ help: try ignoring the field: `methods: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]    --> runtime/src/value/mod.rs:851:26
[INFO] [stdout]     |
[INFO] [stdout] 851 |             Value::Error(span, code, message) => PredefinedType::Void.into(),
[INFO] [stdout]     |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `code`
[INFO] [stdout]    --> runtime/src/value/mod.rs:851:32
[INFO] [stdout]     |
[INFO] [stdout] 851 |             Value::Error(span, code, message) => PredefinedType::Void.into(),
[INFO] [stdout]     |                                ^^^^ help: if this is intentional, prefix it with an underscore: `_code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `message`
[INFO] [stdout]    --> runtime/src/value/mod.rs:851:38
[INFO] [stdout]     |
[INFO] [stdout] 851 |             Value::Error(span, code, message) => PredefinedType::Void.into(),
[INFO] [stdout]     |                                      ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> runtime/src/value/mod.rs:853:32
[INFO] [stdout]     |
[INFO] [stdout] 853 |             Value::TypeAlias { name, ty } => todo!(),
[INFO] [stdout]     |                                ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ty`
[INFO] [stdout]    --> runtime/src/value/mod.rs:853:38
[INFO] [stdout]     |
[INFO] [stdout] 853 |             Value::TypeAlias { name, ty } => todo!(),
[INFO] [stdout]     |                                      ^^ help: try ignoring the field: `ty: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]   --> runtime/src/eval/expression/array.rs:15:34
[INFO] [stdout]    |
[INFO] [stdout] 15 |                 Value::Reference(path, scope) => todo!(),
[INFO] [stdout]    |                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scope`
[INFO] [stdout]   --> runtime/src/eval/expression/array.rs:15:40
[INFO] [stdout]    |
[INFO] [stdout] 15 |                 Value::Reference(path, scope) => todo!(),
[INFO] [stdout]    |                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_scope`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]   --> runtime/src/eval/expression/binary.rs:74:42
[INFO] [stdout]    |
[INFO] [stdout] 74 |                         Value::Reference(path, scope) => todo!(),
[INFO] [stdout]    |                                          ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scope`
[INFO] [stdout]   --> runtime/src/eval/expression/binary.rs:74:48
[INFO] [stdout]    |
[INFO] [stdout] 74 |                         Value::Reference(path, scope) => todo!(),
[INFO] [stdout]    |                                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_scope`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]    --> runtime/src/lib.rs:272:30
[INFO] [stdout]     |
[INFO] [stdout] 272 |             Value::Reference(path, scope) => todo!(),
[INFO] [stdout]     |                              ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scope`
[INFO] [stdout]    --> runtime/src/lib.rs:272:36
[INFO] [stdout]     |
[INFO] [stdout] 272 |             Value::Reference(path, scope) => todo!(),
[INFO] [stdout]     |                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_scope`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0502`.
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]   --> runtime/src/eval/expression/call.rs:32:42
[INFO] [stdout]    |
[INFO] [stdout] 32 |                         Value::Reference(path, scope) => todo!(),
[INFO] [stdout]    |                                          ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scope`
[INFO] [stdout]   --> runtime/src/eval/expression/call.rs:32:48
[INFO] [stdout]    |
[INFO] [stdout] 32 |                         Value::Reference(path, scope) => todo!(),
[INFO] [stdout]    |                                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_scope`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]   --> runtime/src/eval/expression/call.rs:12:30
[INFO] [stdout]    |
[INFO] [stdout] 12 |             Value::Reference(path, scope) => match todo!() {
[INFO] [stdout]    |                              ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scope`
[INFO] [stdout]   --> runtime/src/eval/expression/call.rs:12:36
[INFO] [stdout]    |
[INFO] [stdout] 12 |             Value::Reference(path, scope) => match todo!() {
[INFO] [stdout]    |                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_scope`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index_span`
[INFO] [stdout]   --> runtime/src/eval/expression/index.rs:11:14
[INFO] [stdout]    |
[INFO] [stdout] 11 |         let (index_span, index) = (
[INFO] [stdout]    |              ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_index_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `tsr-runtime` (lib test) due to 7 previous errors; 34 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]  --> runtime/src/eval/statement/export.rs:8:14
[INFO] [stdout]   |
[INFO] [stdout] 8 |         let (span, value) = export.unpack();
[INFO] [stdout]   |              ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `statement`
[INFO] [stdout]  --> runtime/src/eval/statement/if_else.rs:7:31
[INFO] [stdout]   |
[INFO] [stdout] 7 |     pub fn eval_if(&mut self, statement: Positioned<IfStatement>) -> Value {
[INFO] [stdout]   |                               ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_statement`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]   --> runtime/src/eval/statement/variable.rs:11:14
[INFO] [stdout]    |
[INFO] [stdout] 11 |         let (span, variables) = variables.unpack();
[INFO] [stdout]    |              ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]   --> runtime/src/eval/statement/variable.rs:25:42
[INFO] [stdout]    |
[INFO] [stdout] 25 |                         Value::Reference(path, scope) => todo!(),
[INFO] [stdout]    |                                          ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scope`
[INFO] [stdout]   --> runtime/src/eval/statement/variable.rs:25:48
[INFO] [stdout]    |
[INFO] [stdout] 25 |                         Value::Reference(path, scope) => todo!(),
[INFO] [stdout]    |                                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_scope`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `signature`
[INFO] [stdout]    --> runtime/src/value/mod.rs:606:47
[INFO] [stdout]     |
[INFO] [stdout] 606 | ...                   Signature::Method(signature) => name,
[INFO] [stdout]     |                                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_signature`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `members`
[INFO] [stdout]    --> runtime/src/value/mod.rs:736:49
[INFO] [stdout]     |
[INFO] [stdout] 736 |                         PrimaryType::ObjectType(members) => match self {
[INFO] [stdout]     |                                                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_members`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `func`
[INFO] [stdout]    --> runtime/src/value/mod.rs:834:34
[INFO] [stdout]     |
[INFO] [stdout] 834 |             Value::ArrowFunction(func) => PredefinedType::Any.into(),
[INFO] [stdout]     |                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_func`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> runtime/src/value/mod.rs:837:17
[INFO] [stdout]     |
[INFO] [stdout] 837 |                 name,
[INFO] [stdout]     |                 ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `extends`
[INFO] [stdout]    --> runtime/src/value/mod.rs:838:17
[INFO] [stdout]     |
[INFO] [stdout] 838 |                 extends,
[INFO] [stdout]     |                 ^^^^^^^ help: try ignoring the field: `extends: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `signatures`
[INFO] [stdout]    --> runtime/src/value/mod.rs:839:17
[INFO] [stdout]     |
[INFO] [stdout] 839 |                 signatures,
[INFO] [stdout]     |                 ^^^^^^^^^^ help: try ignoring the field: `signatures: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> runtime/src/value/mod.rs:842:17
[INFO] [stdout]     |
[INFO] [stdout] 842 |                 name,
[INFO] [stdout]     |                 ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `extends`
[INFO] [stdout]    --> runtime/src/value/mod.rs:843:17
[INFO] [stdout]     |
[INFO] [stdout] 843 |                 extends,
[INFO] [stdout]     |                 ^^^^^^^ help: try ignoring the field: `extends: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `implements`
[INFO] [stdout]    --> runtime/src/value/mod.rs:844:17
[INFO] [stdout]     |
[INFO] [stdout] 844 |                 implements,
[INFO] [stdout]     |                 ^^^^^^^^^^ help: try ignoring the field: `implements: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `constructors`
[INFO] [stdout]    --> runtime/src/value/mod.rs:845:17
[INFO] [stdout]     |
[INFO] [stdout] 845 |                 constructors,
[INFO] [stdout]     |                 ^^^^^^^^^^^^ help: try ignoring the field: `constructors: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fields`
[INFO] [stdout]    --> runtime/src/value/mod.rs:846:17
[INFO] [stdout]     |
[INFO] [stdout] 846 |                 fields,
[INFO] [stdout]     |                 ^^^^^^ help: try ignoring the field: `fields: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `methods`
[INFO] [stdout]    --> runtime/src/value/mod.rs:847:17
[INFO] [stdout]     |
[INFO] [stdout] 847 |                 methods,
[INFO] [stdout]     |                 ^^^^^^^ help: try ignoring the field: `methods: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]    --> runtime/src/value/mod.rs:851:26
[INFO] [stdout]     |
[INFO] [stdout] 851 |             Value::Error(span, code, message) => PredefinedType::Void.into(),
[INFO] [stdout]     |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `code`
[INFO] [stdout]    --> runtime/src/value/mod.rs:851:32
[INFO] [stdout]     |
[INFO] [stdout] 851 |             Value::Error(span, code, message) => PredefinedType::Void.into(),
[INFO] [stdout]     |                                ^^^^ help: if this is intentional, prefix it with an underscore: `_code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `message`
[INFO] [stdout]    --> runtime/src/value/mod.rs:851:38
[INFO] [stdout]     |
[INFO] [stdout] 851 |             Value::Error(span, code, message) => PredefinedType::Void.into(),
[INFO] [stdout]     |                                      ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> runtime/src/value/mod.rs:853:32
[INFO] [stdout]     |
[INFO] [stdout] 853 |             Value::TypeAlias { name, ty } => todo!(),
[INFO] [stdout]     |                                ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ty`
[INFO] [stdout]    --> runtime/src/value/mod.rs:853:38
[INFO] [stdout]     |
[INFO] [stdout] 853 |             Value::TypeAlias { name, ty } => todo!(),
[INFO] [stdout]     |                                      ^^ help: try ignoring the field: `ty: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]    --> runtime/src/lib.rs:272:30
[INFO] [stdout]     |
[INFO] [stdout] 272 |             Value::Reference(path, scope) => todo!(),
[INFO] [stdout]     |                              ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scope`
[INFO] [stdout]    --> runtime/src/lib.rs:272:36
[INFO] [stdout]     |
[INFO] [stdout] 272 |             Value::Reference(path, scope) => todo!(),
[INFO] [stdout]     |                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_scope`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0502`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `tsr-runtime` (lib) due to 7 previous errors; 34 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "b79d7e772e839d599997cb3fa358f7320e4f53f8f9817428b8430d7cae0519ce", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b79d7e772e839d599997cb3fa358f7320e4f53f8f9817428b8430d7cae0519ce", kill_on_drop: false }`
[INFO] [stdout] b79d7e772e839d599997cb3fa358f7320e4f53f8f9817428b8430d7cae0519ce
